const Git2Stats = require('./git2stats')
const calculate = require('./calculate')
const fs = require('fs')

async function run (dir, options,data) {
  let git2stats
  if(!data){
    git2stats = new Git2Stats(dir, options)
    data = await git2stats.start()
  }
  // fs.writeFile(
  //   './ex/dataSource.json',
  //   JSON.stringify(data, null, 2),
  //   'utf-8',
  //   (err) => err && console.error(err) // if error log error
  // )
  const result = calculate(data, options)
  // 后面对结果再处理。例如导出成文件之类的。

  fs.writeFile(
    './ex/gcv.json',
    JSON.stringify(result, null, 2),
    'utf-8',
    (err) => err && console.error(err) // if error log error
  )
}

module.exports = run